/*
 * @Author: your name
 * @Date: 2022-01-27 20:39:46
 * @LastEditTime: 2022-01-27 22:14:22
 * @LastEditors: Please set LastEditors
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \my-project\src\main\menu.js
 */
import { Menu,remote,ipcMain,BrowserWindow, shell } from 'electron';
import {createDesktopWindow} from './background';
import {fork} from 'child_process';
// 自定义顶部菜单+绑定事件 
var menuTemplate = [
     {label:'文件',
      submenu:[
        {
            label:'进程里的方法',
            click:()=>{
              //   这里因为是主进程 不会打印在渲染进程上，只会打印在主进程上
                //  console.log('ctrl+n');
                 BrowserWindow.getFocusedWindow().webContents.send("rendererMsg","进程里的方法-主进程")
            }
        
        },
        {role:'reload'},
          {role:'cut'},
        
          {
              label:'文件1',
              accelerator:'ctrl+n', // 定义快捷键
              click:()=>{
                //   这里因为是主进程 不会打印在渲染进程上，只会打印在主进程上
                   console.log('ctrl+n')
              }
          
          },
          {type:'separator'}, // 分隔符
          {label:'文件1a'}
      ],
    },
     {label:'菜单'}

]
var menuBuild = Menu.buildFromTemplate(menuTemplate);
Menu.setApplicationMenu(menuBuild);
// 异步接收渲染进程的通讯 e 事件对象，data数据 
ipcMain.on('click-menu-show',(e,data)=>{
    //  console.log(e,data);
    //  向渲染进程回复消息
    e.sender.send('replayRenderer','success!!!')
})

// 同步
ipcMain.on('asyncSend',(e,data)=>{
      console.log(data);
      e.returnValue = '我是主进程同步数据'
})


// 右击菜单

// 渲染进程通知主进程 渲染右击菜单
var menuTemplateright = [
    {label:'文件',
     submenu:[
        {role:'reload'},
         {role:'cut'},
         {
             label:'文件1',
             accelerator:'ctrl+n', // 定义快捷键
             click:()=>{
              createDesktopWindow()
              //  //   这里因为是主进程 不会打印在渲染进程上，只会打印在主进程上
              //     console.log('ctrl+n')
              //   //   可以通过shell 做额外操作
              //     shell.openExternal("https://www.bilibili.com/video/BV12t411e7sQ?p=9&spm_id_from=pageDriver")
             }
         
         },
         {type:'separator'}, // 分隔符
         {label:'文件1'}
     ],
   },
    {label:'菜单'} 
]
var menuBuildright = Menu.buildFromTemplate(menuTemplateright);
ipcMain.on('show-right-menu',(e,data)=>{
    // 渲染进程中获取但前窗口remote.getCurrentWindow()
    // 主进程通过BrowserWindow.getFocusedWindow()
    menuBuildright.popup({window:BrowserWindow.getFocusedWindow()})
})

 

